package com.jlpay.open.jlpay.sdk.java.model.trans.common.request;

import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.jlpay.open.jlpay.sdk.java.model.OrgBaseReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 *
 * @author dengwenning
 * @since 2024/9/23
 **/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class PreAuthCloseRequest extends OrgBaseReq {

    /**
     * 商户号
     */
    private String mchId;
    /**
     * 终端号
     */
    private String termNo;
    /**
     * 交易类型
     */
    private String payType;
    /**
     * 外部订单号
     */
    private String outTradeNo;
    /**
     * 原外部订单号
     */
    private String oriOutTradeNo;
    /**
     * 原平台订单号
     */
    private String oriTransactionId;
    /**
     * 授权码
     */
    private String guaranteeAuthCode;
    /**
     * 关单金额
     */
    private String totalFee;
    /**
     * 备注
     */
    private String remark;
    /**
     * 终端设备号
     */
    private String deviceInfo;
    /**
     * 终端IP
     */
    private String mchCreateIp;
    /**
     * 交易地址
     */
    private String transAddress;
    /**
     * 交易地区码
     */
    private String areaCode;
    /**
     * 经度
     */
    private String longitude;
    /**
     * 纬度
     */
    private String latitude;

    @Override
    public String path() {
        return "/open/trans/preauthclose";
    }
}
